常用adb命令 monkey的使用,以及自动化脚本的编写

您所在的位置:网站首页 adb shell实现自动化测试 常用adb命令 monkey的使用,以及自动化脚本的编写

常用adb命令 monkey的使用,以及自动化脚本的编写

2023-09-19 18:24| 来源: 网络整理| 查看: 265

Monkey 地址: https://developer.android.google.cn/studio/test/monkey 介绍:Monkey 是一个在模拟器或设备上运行的程序,可生成伪随机用户事件(例如点击、轻触或手势)流以及很多系统级事件。使用 Monkey 以随机且可重复的方式对正在开发的应用进行压力测试。

https://www.bilibili.com/video/BV1dT4y1j7gH?p=6&spm_id_from=pageDriver

常用adb命令 Adb devices Adb help Adb version

Adb kill-server Adb start-server Adb install *.apk

连接逍遥模拟器 adb connect 127.0.0.1:21503 连接夜神模拟器 adb connect 127.0.0.1:62001

多个设备可以选择进入 adb -s emulator-5554 shell

读取电量电压 adb shell dumpsys battery

虽然有root权限,但是仍然不能编辑,需要执行以下命令 设置/system为可读写:adb remount

输出日志 Adb logcat -d -v time>D:/android/android.log

把pc端的文件推送到终端 Adb push d:\xx.log /data/data/ 多个设备 adb -s 127.0.0.1:21503 push D:\Android\log\android.log /data/data

把手机端的文件拉到pc端 Adb pull /data/data/xx.log d:\demo

查看包名和activity Adb logcat|findstr START 查看需要测试的包名 如果有root权限,可以进入/data/data/下使用ls/ls-a查看(不能使用ll) 如果无root权限,可以使用:pm  list packages查看

(需要控制monkey执行的时间,可以通过设置执行时长/事件发送延时,计算出需要执行的次数。如:想要monkey运行24小时,每100毫秒发送一个事件。246060*1000/100=864000(次)   monkey -p   ***  --ignore-crashes --ignore-timeouts --throttle 100 864000   表示:此次monkey将会运行24小时

启动app Adb shell am start -W -n package/.activity 打开币安apk,并测量时间 Adb shell am start -W -n com.binance.dev/.activities.register.RegisterActivity

打开xt apk,并测量时间 Adb shell am start -W -n com.zsdk.xt/.ui.activity.MainActivity

币安的apk启动时间381ms,xt 的apk启动时间1180ms,慢了3倍多

关闭app Adb shell am force-stop package Adb shell am force-stop com.binance.dev

app退到后台运行 Adb shell input keyevent 3

币安的启动包名 cmp=com.binance.dev/.activities.register.RegisterActivity Xt 的启动包名 cmp=com.zsdk.xt/.ui.activity.MainActivity cmp=com.zsdk.xt/.ui.act.MainActivity cmp=com.zsdk.xt.debug/com.zsdk.xt.ui.act.ColumnOreActivity

cmp=com.android.systemui/.recents.RecentsActivity

预生产的包 cmp=com.zsdk.xt.pro/com.zsdk.xt.ui.act.MainActivity

卸载apk包 adb -s 127.0.0.1:21503 uninstall com.zsdk.xt.debug

查看cpu Adb shell dumpsys cpuinfo|findstr package Dumpsys meminfo|grep xt

如果在shell里面 输入dumpsys cpuinfo|findstr xt

如果在cmd里面 输入adb shell dumpsys cpuinfo|findstr xt

获取进程pid Adb shell ps | findstr package

先找到pid,然后cat查看进程流量,建议在shell里面操作,那样就不需要每次多输入adb shell Adb shell cat /proc/pid/net/dev

查看接受和发送的流量

获取内存 Adb shell top VSS- Virtual Set Size 虚拟耗用内存(包含共享库占用的内存) RSS- Resident Set Size 实际使用物理内存(包含共享库占用的内存) PSS- Proportional Set Size 实际使用的物理内存(比例分配共享库占用的内存) USS- Unique Set Size 进程独自占用的物理内存(不包含共享库占用的内存) 一般来说内存占用大小有如下规律:VSS >= RSS >= PSS >= USS

dstat 命令是一个用来替换 vmstat、iostat、netstat、nfsstat 和 ifstat 这些命令的工具,是一个全能系统信息统计工具。 Dstat -afv

Monkey命令 https://www.cnblogs.com/smallstone2018/p/10024500.html

Adb shell monkey -p com.zsdk.xt.pro --ignore-crashes --ignore-timeouts --throttle 100 60 monkey -p   ***  --ignore-crashes --ignore-timeouts --throttle 100 864000 产生500此随机事件,作用在系统中所有的activity Adb shell monkey -v 500 adb shell monkey -v 500 -p com.zsdk.xt.pro adb shell monkey -v -p com.zsdk.xt.pro --ignore-crashes --ignore-timeouts --throttle 100 600

-p参数 在我们测试时,是针对具体的app进行测试的,所以在使用monkey测试时,我们需要提供具体的app包名给monkey,此时就需要用到参数-p。在-p后跟随app包名。 (二)事件类型 0:触摸事件–pct-touch   调整touch触屏事件的百分比,触碰事件就是指在屏幕上的一个单独位置的一次点击/抬起的事件。 1:滑屏事件–pct-motion(手势事件)   (手势事件是由一个在屏幕某处的按下事件、一系列的伪随机移动、一个抬起事件组成)即一个滑动操作,但是是直线的,不能拐弯) 2:轨迹球–pct-trackball   (轨迹球事件包括一个或多个随机移动,有时还伴有点击。轨迹球现在智能手机上已经没有了,就是类似手柄的方向键一样) 3:旋转(–pct-rotation)   旋转屏幕 4:导航–pct-nav   (导航事件包括上下左右,如方向输入设备的输入)老手机的上下左右键,智能机上没有) 5:主导航–pct-majornav   调整主要导航事件的百分比(如中间键、取消、确定或菜单引发的图形接口的动作) 6:系统按键–pct-syskeys   调整系统按键事件,如:home/back/startcall/endcall以及音量控制键等 7:app切换–pct-appswitch   调整启动activity的百分比,在随机间隔中,执行一个startActivity()方法调用,作为一种最大化的覆盖安装包的所有的activity的方法 8:键盘翻转(–pct-flip) 9:随机–pct-anyevent   调整其他类型的事件的百分比,比如按键或其他不太常用到的一些事件的百分比

(三)调试选项 1、–ignore-crashes   用于指定当应用程序崩溃时,Monkey是否停止运行。如果使用此参数,即使应用程序崩溃,monkey依然会发送事件,直到事件计数完成。 2、—ignore-timeouts   用于指定当应用程序发生ANR(Application No Responding)错误时,Monkey是否停止运行。如果使用此参数,即使应用程序发生ANR错误,Monkey依然会发送事件,直到事件计数完成。 3、–ignore-security-exceptionss   用于指定当应用程序发生许可错误时(如证书许可,网络许可等),Monkey是否停止运行。如果使用此参数,即使应用程序发生许可错误,Monkey依然会发送事件,直到事件计数完成。 4、–kill-process-after-error   用于指定当应用程序发生错误时,是否停止其运行。如果指定此参数,当应用程序发生错误时,应用程序停止运行并保持在当前状态(注意:应用程序仅是静止在发生错误时的状态,系统并不会结束该应用程序的进程)。 5、–monitor-native-crashes   用于指定是否监视并报告应用程序发生崩溃的本地代码 6、–hprof   该选项设置后,将会在monkey事件序列前后立刻生成report,大小为大于5MB,存储在/data/misc

Tips Sdk 下载后设置环境变量 如果adb命令无效,重启adb服务 使用monkey做app压测的时候使用-s 可以重复之前的操作步骤。

https://www.bilibili.com/video/BV1ft411h7kQ?from=search&seid=4038063240049936772 6节课轻松搞定APP monkey性能专项测试 Monkey自动化脚本测试,monkey压力稳定性测试,自动化混合应用。 Adb(Android Debug Bridge)是android sdk(software development kit)的一个工具

aapt dump badging D:\Android\Browser\Browser.apk

com.android.browser com.android.browser.BrowserActivity

运行脚本

#头文件、控制monkey发送消息的参数 type=raw events count=10 speed=1.0 #以下monkey命令 start data>> #打开测试应用程序 LaunchActivity(com.android.browser,com.android.browser.BrowserActivity) #等待时间 UserWait(3000) #点击浏览器网址 Tap(300,152) #输入www.baidu.com DispatchString(www.baidu.com) #输入enter键 DispatchPress(KEYCODE_ENTER) #输入Home键返回到桌面 DispatchPress(KEYCODE_BACK)



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3